package BusinessLayer;

import java.util.ArrayList;
import java.util.Observable;
import java.util.Vector;


/**
 * <b>Etudiant est la classe representant un etudiant et qui etend d une personne</b>
 * <p>     
 *         un etudiant est caracterise :
 * <ul>
 * <li>par un numINE</li>
 * <li>par numEtudiant</li>
 * <li>par un scoreTOEIC</li>
 * <li> ... a completer </li>
 * </ul>
 * 
 * </p>
 * @author cyrene
 * @version 1.0
 */
public class Etudiant extends Personne
{

    /**
     * numINE argument du numero national d identifiant : chaine de caractere
     * 
     */
  private String numINE;

  /**
   * numEtudiant argument du numero de l etudiant : chaine de caractere
   */
  private String numEtudiant;

  /**
   * scoreTOEIC argument score au toeic sous forme d entier
   */
  private int scoreTOEIC;

  /**
   * pointJuryAnnee argument des points jury attribues : float
   */
  private float pointJuryAnnee;

  /**
   * myStatut argument du statut de l'étudiant
   */
  public Statut myStatut;
  
  public Note myNote;


  public ArrayList<Note> ensNote;
  public Annee myAnnee;
 
  public Vector  PointJury;
  public Semestre Etranger;
  public Semestre Redoublant;


  public Etudiant() {      
     
  }

  public boolean validAnnee() {
  return false;
  }

  public Etudiant(String nom, String prenom) {
      this.nom = nom;
      this.prenom = prenom;  
  }

  public Etudiant(String nom, String prenom,String numINE) {
      this.nom = nom;
      this.prenom = prenom; 
      this.numINE = numINE;
  }
  
  public Etudiant(String nom, String prenom,String numINE, String numEtudiant) {
      this.nom = nom;
      this.prenom = prenom; 
      this.numINE = numINE;
      this.numEtudiant = numEtudiant;
  }
  
  
  /**
   * modification du numero INE
   * @param numINE
   */
public void setNumINE(String numINE) {
    this.numINE = numINE;
}

/**
 * retourne le numero d identifiant de l etudiant
 * @return NumINE chaine de caractere
 */
public String getNumINE() {
    return numINE;
}

/**
 * modification du numero de l etudiant
 * @param numEtudiant
 */
public void setNumEtudiant(String numEtudiant) {
    this.numEtudiant = numEtudiant;
}

/**
 * retourne le numero d identification de l etudiant
 * @return le numero de l etudiant sous forme de String
 */
public String getNumEtudiant() {
    return numEtudiant;
}

/**
 * modification du score toeic
 * @param scoreTOEIC
 */
public void setScoreTOEIC(int scoreTOEIC) {
    this.scoreTOEIC = scoreTOEIC;
}

/**
 * retourne le score au toeic de l etudiant
 * @return le score toeic sous forme d entier
 */
public int getScoreTOEIC() {
    return scoreTOEIC;
}

/**
 * modification des points jury de l'etudiant
 * @param pointJuryAnnee
 */
public void setPointJuryAnnee(float pointJuryAnnee) {
    this.pointJuryAnnee = pointJuryAnnee;
}

/**
 * retourne les points jury de l etudiant
 * @return les points jury sous forme de Float
 */
public float getPointJuryAnnee() {
    return pointJuryAnnee;
}

/**
 * retourne le nom de l etudiant
 * @return le nom sous forme de String
 */
public String getNomEtud(){
    return this.nom;
}

/**
 * modification du nom de l etudiant
 * @param nom 
 */
public void setNomEtud(String nom){
    this.nom=nom;
}

/**
 * retourne le prenom de l etudiant
 * @return le prenom sous forme de String
 */
public String getPrenomEtud(){
    return this.prenom;
}

/**
 * modification du prenom de l etudiant
 * @param prenom
 */
public void setPrenomEtud(String prenom){
    this.prenom=prenom;
}

public String toString() {
       return "le nom de l etudiant est " + this.nom +
          " \nle prenom de l etudiant est :" + this.prenom +
          "\n le num INE est : " + this.numINE +
          "\n le numero de l etudiant est " + this.numEtudiant;
    }



}